NMD-789 - Nomad UI Clients view issue in federated clusters configuration#27679
NMD-789 - Nomad UI Clients view issue in federated clusters configuration#27679navyadas-dev wants to merge 3 commits intomainfrom
Conversation
|
@navyadas-dev your PR says what you changed but not why that solves the problem or how to reproduce or test the problem. This is a public repo, so we need to show our work. |
I had already added testing details in the ticket comments, and I’ve now included some additional information in the PR description as well. Please take another look when you get a chance, and let me know if anything else is missing or needs further clarification. Thank you! |
|
Cross-posting from https://hashicorp.atlassian.net/browse/NMD-789?focusedCommentId=974394
|
I'm not sure we've really reproduced the original problem here, have we? #25920 talks about deactivation but the Jira seems to suggest there's a user-visible problem, which sounds like a lot more than 0.4ms.
You haven't explained this in the PR either, so I'll copy-paste from the Jira what this is referring to:
|
This PR implements the short-term fix . As the long-term solution involves backend changes to create the /v1/client-statuses endpoint, please let me know if any UI changes are needed — happy to help with those. |
|
@jrasell As discussed could you please help to provide a large data setup to validate this implementation in more detail? I’d like to test the behavior under heavier load conditions. |
Description
NMD-789 - Nomad UI Clients view issue in federated clusters configuration
This PR implements the short-term solution mentioned in the ticket.
Testing & Reproduction steps
Issue:
When the user is on /clients or any page, the page can initiate multiple in-flight requests for node allocation data. Some of these requests may still be pending when the user navigates away from the page.
Cause:
Those requests are not always explicitly canceled when leaving /clients, so the browser can continue holding pending requests briefly after navigation starts.
Fix:
I added explicit watcher cancellation in deactivate() to ensure cleanup always happens when leaving the Clients page.
File Modified: ui/app/routes/clients/index.js
Testing Results
Network throttling: 3G
Browser: Chrome with DevTools open
Monitoring: Network tab + Console logs
BEFORE
Before.mov
Navigate to Clients page → wait 2-3 seconds → navigate to Jobs - 0.40ms to complete deactivation
AFTER
after.mov
Navigate to Clients page → wait 2-3 seconds → navigate to Jobs - 0.30ms to complete deactivation
Observation: Minimal Difference
As the long-term solution involves backend changes to create the /v1/client-statuses endpoint, please let me know if there are any UI changes needed— happy to help with those.
Links
https://hashicorp.atlassian.net/browse/NMD-789
Contributor Checklist
changelog entry using the
make clcommand.ensure regressions will be caught.
and job configuration, please update the Nomad product documentation, which is stored in the
web-unified-docsrepo. Refer to theweb-unified-docscontributor guide for docs guidelines.Please also consider whether the change requires notes within the upgrade
guide. If you would like help with the docs, tag the
nomad-docsteam in this PR.Reviewer Checklist
backporting document.
in the majority of situations. The main exceptions are long-lived feature branches or merges where
history should be preserved.
within the public repository.
Changes to Security Controls
Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.